A number of approaches exist for printing shipping labels using a computer. In one approach, a shipping label is prepared and printed using a stand-alone application executing on a shipper's computing system. Such client-side applications may include document preparation applications, such as word processors or special-purpose shipping label applications. Using a word processor to prepare shipping labels may be an error prone process, as relevant information (e.g., each destination shipping address) may need to be entered manually. In addition, the word processor may not be configured or otherwise capable of preparing bar codes or other machine readable indicia required or preferred by some carrier services.
Special-purpose shipping label applications also suffer from a number of drawbacks. In particular, they are typically limited in their ability to communicate over a network to obtain information relevant to a shipping label (e.g., a recipient address), or to inform other computing systems about a shipping label that has been printed (e.g., for tracking purposes). Furthermore, even if a stand-alone shipping label application has network capabilities, information is exchanged in a potentially non-uniform manner between shipping label applications and remote computing systems. In such cases, the developers of shipping label applications may need to implement multiple diverse mechanisms for communicating with different remote computing systems, such as those provided by different shipping carriers for tracking shipments. Further, some remote computing systems may be unable or unwilling to grant or support access by a special-purpose shipping label application (e.g., based on security concerns, technical considerations, etc.), resulting in reduced functionality for the special-purpose shipping label application.
In other approaches, Web-based server-side shipping label applications have been used. Such applications allow a user to utilize a Web browser to prepare and print shipping labels. Such approaches have the benefit that they may not require the installation of special software on a client machine (aside from a Web browser). However, such approaches may be limited by simple, Web-based user interfaces that restrict the available functionality of the shipping label application. In addition, Web-based shipping label applications may not be able to readily or conveniently access information stored in locations other than those that are accessible to the Web server that provides the shipping label application (e.g., the client machine, computing systems operated by third-parties, etc.). For example, because the shipping label application is a server side application, it may not be able to interact with software (e.g., database systems, address books, etc.) and/or hardware (e.g., printers, disks, etc.) resident on the client machine. Such limitations may result in reduced functionality for the shipping label application, such as poor integration, low quality shipping label output, etc